If mirror 10 (“UFRJ”) is offline, try changing ind = 10 to ind = 1. Do the same thing if you get an error installing the BETS package.
chooseCRANmirror(graphics = FALSE, ind = 10)
if (!require("pacman")) install.packages("pacman")
pacman::p_load(devtools, ggplot2, forecast, BETS, seasonal, seasonalview, bvarsv, lubridate, zoo, stargazer, gridExtra, reshape2, ggfortify, RColorBrewer, scales, quantmod, PerformanceAnalytics, strucchange, coda, foreach, doParallel, knitr, grid, ggpubr, gdata, vars, urca, compiler, DescTools, kableExtra, knitr, readxl)
These are some auxiliary functions used later in the code (I took them from bvarsv documentation):
## Some graphical parameters
matplot2 <- function(...){
matplot(..., type = 'l', lty = 1, lwd = 2, bty = "n", ylab = "")
}
# Stat.helper calculates que quantiles and organizes them in quantile 1, mean, quantile 3 given a vector z
stat.helper <- function(z) c(mean(z), quantile(z, c(0.16, 0.84)))[c(2,1,3)]
# Color palette
cbPalette <- c("#999999", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7")
cols1 <- cbPalette[c(2,4,2)]
cols2 <- cbPalette[c(2,4,6)]
# This one is for IRF analysis
stat.helper2 <- function(z) c(mean(z), quantile(z, c(0.05, 0.25, 0.75, 0.95)))[c(2, 3, 1, 4, 5)]
Fiz esse documento para dar uma olhada com mais cuidado nos dados do PIB mensal no Brasil. Eu já havia feito uma análise comparando IBC-Br com PIB mensal, que depois tenho que colocar aqui.
As minhas metas são: 1. Mostrar que a transformação de logaritmo do X13 ARIMA não equivale a tomar o log da série (nem antes nem depois).
Para isso, eu vou fazer o seguinte:
Para calcular o PIB real, preciso da série do IPCA também. Na verdade vou baixar todas as séries de uma vez só.
Agora vou fazer aquelas primeiras séries:
a. Passar no X13 ARIMA sem nenhuma transformação prévia (PIB1);
b. Passar no X13 ARIMA pedindo a transformação em log (PIB2);
c. Tirar o log e passar no X13 ARIMA sem nenhuma transformação (PIB3);
d. Passar no X13 arima e depois tirar o log (PIB4);
e. Tirar o log, passar no X13 ARIMA sem nenhuma transformação e depois tomar exponencial (PIB5).
## qs p-val
## qsori 223.05943 0.00000
## qsorievadj 223.05943 0.00000
## qsrsd 2.04455 0.35978
## qssadj 0.11717 0.94310
## qssadjevadj 0.11717 0.94310
## qsirr 0.00000 1.00000
## qsirrevadj 0.00000 1.00000
## qssori 73.70678 0.00000
## qssorievadj 73.70678 0.00000
## qssrsd 0.65785 0.71970
## qsssadj 0.01014 0.99494
## qsssadjevadj 0.01014 0.99494
## qssirr 0.00000 1.00000
## qssirrevadj 0.00000 1.00000
##
## Call:
## seas(x = PIBmensal, transform.function = "none", regression.aictest = NULL)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## AR-Nonseasonal-01 -0.83700 0.13651 -6.131 8.71e-10 ***
## AR-Nonseasonal-02 -0.37993 0.05744 -6.615 3.72e-11 ***
## MA-Nonseasonal-01 -0.57124 0.14263 -4.005 6.20e-05 ***
## MA-Seasonal-12 0.72433 0.04796 15.104 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## SEATS adj. ARIMA: (2 1 1)(0 1 1) Obs.: 267 Transform: none
## AICc: 5370, BIC: 5388 QS (no seasonality in final):0.1172
## Box-Ljung (no autocorr.): 59.13 *** Shapiro (normality): 0.997
## Messages generated by X-13:
## Warnings:
## - At least one visually significant trading day peak has
## been found in one or more of the estimated spectra.
## qs p-val
## qsori 223.05943 0.00000
## qsorievadj 223.05943 0.00000
## qsrsd 4.64538 0.09801
## qssadj 4.28394 0.11742
## qssadjevadj 4.28394 0.11742
## qsirr 1.41258 0.49347
## qsirrevadj 1.41258 0.49347
## qssori 73.70678 0.00000
## qssorievadj 73.70678 0.00000
## qssrsd 3.34332 0.18793
## qsssadj 2.06605 0.35593
## qsssadjevadj 2.06605 0.35593
## qssirr 0.66301 0.71784
## qssirrevadj 0.66301 0.71784
##
## Call:
## seas(x = PIBmensal, transform.function = "log", regression.aictest = NULL)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## AR-Nonseasonal-01 -1.10589 0.07426 -14.892 < 2e-16 ***
## AR-Nonseasonal-02 -0.38697 0.08835 -4.380 1.19e-05 ***
## AR-Nonseasonal-03 -0.14650 0.06547 -2.238 0.0252 *
## MA-Nonseasonal-01 -0.95629 0.04110 -23.270 < 2e-16 ***
## MA-Seasonal-12 0.77896 0.04116 18.924 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## SEATS adj. ARIMA: (3 1 1)(0 1 1) Obs.: 267 Transform: log
## AICc: 5364, BIC: 5384 QS (no seasonality in final):4.284
## Box-Ljung (no autocorr.): 84.94 *** Shapiro (normality): 0.9964
## Messages generated by X-13:
## Warnings:
## - At least one visually significant trading day peak has
## been found in one or more of the estimated spectra.
## qs p-val
## qsori 214.68873 0.00000
## qsorievadj 214.68873 0.00000
## qsrsd 4.64539 0.09801
## qssadj 3.57542 0.16734
## qssadjevadj 3.57542 0.16734
## qsirr 1.41463 0.49297
## qsirrevadj 1.41463 0.49297
## qssori 72.69858 0.00000
## qssorievadj 72.69858 0.00000
## qssrsd 3.34333 0.18793
## qsssadj 2.13691 0.34354
## qsssadjevadj 2.13691 0.34354
## qssirr 0.66257 0.71800
## qssirrevadj 0.66257 0.71800
##
## Call:
## seas(x = log_do_PIB, transform.function = "none", regression.aictest = NULL)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## AR-Nonseasonal-01 -1.10589 0.07426 -14.892 < 2e-16 ***
## AR-Nonseasonal-02 -0.38697 0.08835 -4.380 1.19e-05 ***
## AR-Nonseasonal-03 -0.14650 0.06547 -2.238 0.0252 *
## MA-Nonseasonal-01 -0.95629 0.04109 -23.270 < 2e-16 ***
## MA-Seasonal-12 0.77896 0.04116 18.924 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## SEATS adj. ARIMA: (3 1 1)(0 1 1) Obs.: 267 Transform: none
## AICc: -1208, BIC: -1187 QS (no seasonality in final):3.575
## Box-Ljung (no autocorr.): 84.94 *** Shapiro (normality): 0.9964
## Messages generated by X-13:
## Warnings:
## - At least one visually significant trading day peak has
## been found in one or more of the estimated spectra.
##
## Call:
## seas(x = PIB4, transform.function = "none", regression.aictest = NULL)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## Constant 0.0031920 0.0008614 3.706 0.000211 ***
## LS2001.Jun -0.0621458 0.0124316 -4.999 5.76e-07 ***
## AR-Nonseasonal-01 -1.1034697 0.0617426 -17.872 < 2e-16 ***
## AR-Nonseasonal-02 -0.3333648 0.0887643 -3.756 0.000173 ***
## AR-Nonseasonal-03 -0.0917952 0.0624334 -1.470 0.141483
## MA-Nonseasonal-01 -1.0000000 0.0198115 -50.476 < 2e-16 ***
## MA-Seasonal-12 -0.0566923 0.0594316 -0.954 0.340130
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## SEATS adj. ARIMA: (3 1 1)(0 0 1) Obs.: 267 Transform: none
## AICc: -1399, BIC: -1371 QS (no seasonality in final): 0.22
## Box-Ljung (no autocorr.): 88.26 *** Shapiro (normality): 0.9953
## Messages generated by X-13:
## Warnings:
## - At least one visually significant trading day peak has
## been found in one or more of the estimated spectra.
## - Series should not be a candidate for seasonal adjustment
## because the spectrum of the prior adjusted series (Table
## B1) has no visually significant seasonal peaks.
##
## Notes:
## - Model used for SEATS decomposition is different from the
## model estimated in the regARIMA modeling module of
## X-13ARIMA-SEATS.
## qs p-val
## qsori 0.22002 0.89582
## qsorievadj 0.45162 0.79787
## qsrsd 0.00000 1.00000
## qssadj 0.22002 0.89582
## qssadjevadj 0.45162 0.79787
## qsirr 0.42916 0.80688
## qsirrevadj 0.42916 0.80688
## qssori 0.26307 0.87675
## qssorievadj 0.26307 0.87675
## qssrsd 0.12285 0.94043
## qsssadj 0.26307 0.87675
## qsssadjevadj 0.26307 0.87675
## qssirr 0.04952 0.97554
## qssirrevadj 0.04952 0.97554
##
## Call:
## seas(x = PIB5, transform.function = "none", regression.aictest = NULL)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## Constant 1159.04707 364.77506 3.177 0.001486 **
## AR-Nonseasonal-01 -0.34139 0.16482 -2.071 0.038325 *
## AR-Nonseasonal-02 -0.11691 0.06773 -1.726 0.084338 .
## AR-Nonseasonal-03 0.14919 0.07745 1.926 0.054083 .
## MA-Nonseasonal-01 -0.54442 0.16056 -3.391 0.000697 ***
## MA-Seasonal-12 -0.13979 0.05942 -2.353 0.018646 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## SEATS adj. ARIMA: (3 1 1)(0 0 1) Obs.: 267 Transform: none
## AICc: 5239, BIC: 5264 QS (no seasonality in final):4.281
## Box-Ljung (no autocorr.): 58.56 *** Shapiro (normality): 0.9925
## Messages generated by X-13:
## Warnings:
## - At least one visually significant trading day peak has
## been found in one or more of the estimated spectra.
## - Series should not be a candidate for seasonal adjustment
## because the spectrum of the original series (Table A1 or
## B1) has no visually significant seasonal peaks.
##
## Notes:
## - Model used for SEATS decomposition is different from the
## model estimated in the regARIMA modeling module of
## X-13ARIMA-SEATS.
## qs p-val
## qsori 4.28135 0.11758
## qsorievadj 4.28135 0.11758
## qsrsd 0.00000 1.00000
## qssadj 4.28135 0.11758
## qssadjevadj 4.28135 0.11758
## qsirr 32.22262 0.00000
## qsirrevadj 32.22262 0.00000
## qssori 3.10509 0.21171
## qssorievadj 3.10509 0.21171
## qssrsd 0.05590 0.97244
## qsssadj 3.10509 0.21171
## qsssadjevadj 3.10509 0.21171
## qssirr 12.41321 0.00202
## qssirrevadj 12.41321 0.00202
| PIB1 | PIB2 | PIB5 | PIB3 | PIB4 | |
|---|---|---|---|---|---|
| Observações | 267.0 | 267.0 | 267.0 | 267.0000 | 267.0000 |
| Mínimo | 254606.7 | 253737.6 | 253675.9 | 12.4438 | 12.4475 |
| 1o quartil | 309170.7 | 308974.1 | 308899.0 | 12.6408 | 12.6416 |
| Média | 422645.8 | 422531.1 | 422428.4 | 12.9138 | 12.9144 |
| Mediana | 407348.4 | 408080.7 | 407981.5 | 12.9190 | 12.9174 |
| 3o quartil | 549252.1 | 549982.3 | 549848.6 | 13.2174 | 13.2163 |
| Máximo | 610932.0 | 610519.4 | 610370.9 | 13.3218 | 13.3227 |
| Desv. Pad. | 118158.7 | 118127.6 | 118098.9 | 0.2848 | 0.2848 |
Conclusão: Basicamente são equivalentes as seguintes séries
Tá, e qual série vou ficar? Decidi ficar com a série que eu usei inicialmente, onde eu passo no X13 primeiro e depois calculo o log para então calcular a primeira diferença.
a. A série passada no X13 ARIMA (sem transformação) e depois toma a diferença dela em log (PIBa) - é a que eu uso atualmente
b. A série do PIB mensal quando calcula a taxa de variação anual (e daí não passa no X13 ARIMA) (PIBb)
c. A série do PIB per capita passando no X13 ARIMA sem nenhuma transformação (PIBc)
d. A série do PIB per capita passando pelo X13 ARIMA e depois tomando a diferença da série em log (PIBd)
e. A série do PIB per capita calculando a taxa de variação anual (PIBe)
##
## Call:
## seas(x = PIB_pc, transform.function = "none", regression.aictest = NULL)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## AR-Nonseasonal-01 -0.82086 0.13269 -6.186 6.16e-10 ***
## AR-Nonseasonal-02 -0.35732 0.05761 -6.202 5.57e-10 ***
## MA-Nonseasonal-01 -0.58717 0.13659 -4.299 1.72e-05 ***
## MA-Seasonal-12 0.76614 0.04354 17.594 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## SEATS adj. ARIMA: (2 1 1)(0 1 1) Obs.: 266 Transform: none
## AICc: 2694, BIC: 2712 QS (no seasonality in final):0.5234
## Box-Ljung (no autocorr.): 61.21 *** Shapiro (normality): 0.9969
## Messages generated by X-13:
## Warnings:
## - At least one visually significant trading day peak has
## been found in one or more of the estimated spectra.
## qs p-val
## qsori 222.02337 0.00000
## qsorievadj 222.02337 0.00000
## qsrsd 2.42800 0.29701
## qssadj 0.52344 0.76972
## qssadjevadj 0.52344 0.76972
## qsirr 0.00000 1.00000
## qsirrevadj 0.00000 1.00000
## qssori 73.84609 0.00000
## qssorievadj 73.84609 0.00000
## qssrsd 0.90425 0.63628
## qsssadj 0.12055 0.94150
## qsssadjevadj 0.12055 0.94150
## qssirr 0.00000 1.00000
## qssirrevadj 0.00000 1.00000
##
## Call:
## seas(x = PIB_pca, transform.function = "none", regression.aictest = NULL)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## AR-Nonseasonal-01 0.10457 0.23291 0.449 0.6534
## AR-Nonseasonal-02 -0.11626 0.09560 -1.216 0.2239
## MA-Nonseasonal-01 0.39883 0.23254 1.715 0.0863 .
## MA-Seasonal-12 0.76266 0.04503 16.937 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## SEATS adj. ARIMA: (2 1 1)(0 1 1) Obs.: 267 Transform: none
## AICc: 2712, BIC: 2730 QS (no seasonality in final):0.5157
## Box-Ljung (no autocorr.): 110.9 *** Shapiro (normality): 0.9962
## Messages generated by X-13:
## Warnings:
## - At least one visually significant trading day peak has
## been found in one or more of the estimated spectra.
## qs p-val
## qsori 222.48739 0.00000
## qsorievadj 222.48739 0.00000
## qsrsd 4.94517 0.08437
## qssadj 0.51569 0.77272
## qssadjevadj 0.51569 0.77272
## qsirr 0.19894 0.90532
## qsirrevadj 0.19894 0.90532
## qssori 73.84609 0.00000
## qssorievadj 73.84609 0.00000
## qssrsd 2.39615 0.30177
## qsssadj 0.11641 0.94346
## qsssadjevadj 0.11641 0.94346
## qssirr 0.00250 0.99875
## qssirrevadj 0.00250 0.99875
| PIBa | PIBb | PIBc | PIBd | PIBe | |
|---|---|---|---|---|---|
| Observações | 266.0000 | 266.0000 | 266.0000 | 266.0000 | 266.0000 |
| Mínimo | -0.0653 | -12.4468 | 1550.9303 | -0.0688 | -13.7417 |
| 1o quartil | -0.0091 | 0.9885 | 1757.3453 | -0.0107 | -0.1216 |
| Média | 0.0029 | 3.7537 | 2226.0956 | 0.0020 | 2.5727 |
| Mediana | 0.0037 | 3.8048 | 2169.1178 | 0.0027 | 2.5618 |
| 3o quartil | 0.0163 | 7.1587 | 2702.3324 | 0.0158 | 5.8039 |
| Máximo | 0.0531 | 13.5300 | 3023.6749 | 0.0530 | 12.3665 |
| Desv. Pad. | 0.0186 | 4.7250 | 475.2141 | 0.0191 | 4.6305 |
E agora vou fazer um gráfico de todos esses PIBs.
Primeiro vou ter que tratar as outras variáveis. ### 1. Capital-Labor Ratio
## qs p-val
## qsori 34.12733 0.00000
## qsorievadj 91.53477 0.00000
## qsrsd 0.00000 1.00000
## qssadj 0.00000 1.00000
## qssadjevadj 0.00000 1.00000
## qsirr 0.00078 0.99961
## qsirrevadj 0.00000 1.00000
## qssori 33.13775 0.00000
## qssorievadj 85.86391 0.00000
## qssrsd 0.00000 1.00000
## qsssadj 0.00000 1.00000
## qsssadjevadj 0.00000 1.00000
## qssirr 0.05069 0.97497
## qssirrevadj 0.00000 1.00000
##
## Call:
## seas(x = capital_trabalho_a, transform.function = "none", regression.aictest = NULL)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## AO1996.Jan -0.35561 0.10377 -3.427 0.000611 ***
## AO1998.Jan 0.67046 0.08634 7.766 8.12e-15 ***
## LS1998.Jul 0.28775 0.05339 5.390 7.06e-08 ***
## AO1998.Aug 0.29547 0.08564 3.450 0.000561 ***
## AO1999.Feb 0.68086 0.09704 7.016 2.28e-12 ***
## AO1999.Mar 0.37531 0.09644 3.892 9.96e-05 ***
## AO2002.Oct 0.49217 0.08564 5.747 9.10e-09 ***
## AR-Nonseasonal-01 0.64477 0.07100 9.081 < 2e-16 ***
## MA-Seasonal-12 0.99965 0.08975 11.138 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## SEATS adj. ARIMA: (1 0 0)(0 1 1) Obs.: 97 Transform: none
## AICc: -109.8, BIC: -88.36 QS (no seasonality in final): 0
## Box-Ljung (no autocorr.): 20.02 Shapiro (normality): 0.9765 .
## qs p-val
## qsori 242.32197 0.00000
## qsorievadj 287.80760 0.00000
## qsrsd 0.00000 1.00000
## qssadj 13.25076 0.00133
## qssadjevadj 0.00000 1.00000
## qsirr 6.90372 0.03169
## qsirrevadj 0.00000 1.00000
## qssori 134.89609 0.00000
## qssorievadj 155.37794 0.00000
## qssrsd 4.35854 0.11312
## qsssadj 5.14745 0.07625
## qsssadjevadj 0.00000 1.00000
## qssirr 7.59824 0.02239
## qssirrevadj 0.00000 1.00000
##
## Call:
## seas(x = capital_trabalho_b, transform.function = "none", regression.aictest = NULL)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## AO2004.Jun -0.74155 0.05278 -14.049 < 2e-16 ***
## LS2004.Nov -0.25272 0.03722 -6.789 1.13e-11 ***
## AO2004.Dec -0.46336 0.04768 -9.718 < 2e-16 ***
## AO2005.Jan 0.21001 0.05129 4.095 4.22e-05 ***
## AO2005.Jun 0.39668 0.05002 7.930 2.19e-15 ***
## AO2006.Jan 0.41973 0.04679 8.969 < 2e-16 ***
## AO2006.Jun 0.52133 0.04725 11.034 < 2e-16 ***
## AO2006.Dec -0.19085 0.04160 -4.588 4.47e-06 ***
## AO2007.Jan 0.35202 0.04432 7.943 1.98e-15 ***
## AO2007.Jun 0.36303 0.04432 8.191 2.59e-16 ***
## AO2010.Jun -0.20396 0.04037 -5.053 4.36e-07 ***
## AO2011.Oct 0.22042 0.03978 5.541 3.01e-08 ***
## AO2011.Dec 0.19854 0.03984 4.983 6.26e-07 ***
## AO2013.Jun -0.40527 0.04064 -9.972 < 2e-16 ***
## AO2014.Jun -0.31716 0.04068 -7.797 6.35e-15 ***
## AO2016.Dec 0.24956 0.04116 6.063 1.34e-09 ***
## MA-Nonseasonal-01 0.68849 0.05725 12.027 < 2e-16 ***
## MA-Seasonal-12 0.63001 0.06814 9.246 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## SEATS adj. ARIMA: (0 1 1)(0 1 1) Obs.: 169 Transform: none
## AICc: -456.5, BIC: -404.1 QS (no seasonality in final):13.25 **
## Box-Ljung (no autocorr.): 26.23 Shapiro (normality): 0.9833 *
##
## ###############################################
## # Augmented Dickey-Fuller Test Unit Root Test #
## ###############################################
##
## Test regression drift
##
##
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.71942 -0.05589 -0.02009 0.02240 0.84050
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.10407 0.03819 2.725 0.00691 **
## z.lag.1 -0.18025 0.06521 -2.764 0.00615 **
## z.diff.lag1 -0.51120 0.08142 -6.279 1.61e-09 ***
## z.diff.lag2 -0.33937 0.08193 -4.142 4.78e-05 ***
## z.diff.lag3 -0.31427 0.07891 -3.983 9.06e-05 ***
## z.diff.lag4 -0.32914 0.07457 -4.414 1.54e-05 ***
## z.diff.lag5 -0.16080 0.06372 -2.524 0.01227 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.148 on 238 degrees of freedom
## Multiple R-squared: 0.347, Adjusted R-squared: 0.3305
## F-statistic: 21.08 on 6 and 238 DF, p-value: < 2.2e-16
##
##
## Value of test-statistic is: -2.7642 3.8382
##
## Critical values for test statistics:
## 1pct 5pct 10pct
## tau2 -3.44 -2.87 -2.57
## phi1 6.47 4.61 3.79
##
## ###############################################
## # Augmented Dickey-Fuller Test Unit Root Test #
## ###############################################
##
## Test regression drift
##
##
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.73363 -0.05954 -0.01229 0.03755 0.87206
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.001866 0.009584 0.195 0.84579
## z.lag.1 -3.443603 0.320516 -10.744 < 2e-16 ***
## z.diff.lag1 1.766775 0.284779 6.204 2.43e-09 ***
## z.diff.lag2 1.270467 0.233790 5.434 1.36e-07 ***
## z.diff.lag3 0.822876 0.180244 4.565 8.01e-06 ***
## z.diff.lag4 0.379660 0.124186 3.057 0.00249 **
## z.diff.lag5 0.112135 0.064543 1.737 0.08362 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1497 on 237 degrees of freedom
## Multiple R-squared: 0.7665, Adjusted R-squared: 0.7606
## F-statistic: 129.7 on 6 and 237 DF, p-value: < 2.2e-16
##
##
## Value of test-statistic is: -10.7439 57.7163
##
## Critical values for test statistics:
## 1pct 5pct 10pct
## tau2 -3.44 -2.87 -2.57
## phi1 6.47 4.61 3.79
## qs p-val
## qsori 30.28836 0.00000
## qsorievadj 30.28836 0.00000
## qsrsd 0.00000 1.00000
## qssadj 3.00726 0.22232
## qssadjevadj 3.00726 0.22232
## qsirr 0.00000 1.00000
## qsirrevadj 0.00000 1.00000
##
## Call:
## seas(x = selic_b, transform.function = "none", regression.aictest = NULL)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## AR-Nonseasonal-01 -0.19030 0.14589 -1.304 0.192
## AR-Nonseasonal-02 0.09671 0.09194 1.052 0.293
## AR-Nonseasonal-03 0.51926 0.08351 6.218 5.03e-10 ***
## MA-Nonseasonal-01 0.12082 0.17475 0.691 0.489
## MA-Seasonal-12 0.99913 0.12930 7.727 1.10e-14 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## SEATS adj. ARIMA: (3 1 1)(0 1 1) Obs.: 87 Transform: none
## AICc: 306.6, BIC: 319.2 QS (no seasonality in final):3.007
## Box-Ljung (no autocorr.): 44.68 ** Shapiro (normality): 0.9865
## Messages generated by X-13:
## Warnings:
## - At least one visually significant trading day peak has
## been found in one or more of the estimated spectra.
## qs p-val
## qsori 45.47230 0.00000
## qsorievadj 45.47230 0.00000
## qsrsd 0.00000 1.00000
## qssadj 2.90012 0.23456
## qssadjevadj 2.90012 0.23456
## qsirr 0.00000 1.00000
## qsirrevadj 0.00000 1.00000
## qssori 31.25379 0.00000
## qssorievadj 31.25379 0.00000
## qssrsd 0.00000 1.00000
## qsssadj 2.79444 0.24728
## qsssadjevadj 2.79444 0.24728
## qssirr 0.00000 1.00000
## qssirrevadj 0.00000 1.00000
##
## Call:
## seas(x = selic_c, transform.function = "none", regression.aictest = NULL)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## AR-Nonseasonal-01 -0.17009 0.10795 -1.576 0.11511
## AR-Nonseasonal-02 0.21991 0.07042 3.123 0.00179 **
## AR-Nonseasonal-03 0.58243 0.06440 9.044 < 2e-16 ***
## MA-Nonseasonal-01 0.29636 0.13073 2.267 0.02339 *
## MA-Seasonal-12 0.99998 0.09303 10.749 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## SEATS adj. ARIMA: (3 1 1)(0 1 1) Obs.: 139 Transform: none
## AICc: 311.3, BIC: 327.6 QS (no seasonality in final): 2.9
## Box-Ljung (no autocorr.): 61.92 *** Shapiro (normality): 0.9843
## Messages generated by X-13:
## Warnings:
## - At least one visually significant trading day peak has
## been found in one or more of the estimated spectra.
##
## ###############################################
## # Augmented Dickey-Fuller Test Unit Root Test #
## ###############################################
##
## Test regression drift
##
##
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag)
##
## Residuals:
## Min 1Q Median 3Q Max
## -10.4155 -0.8920 -0.1325 0.7859 21.8141
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.55727 0.45884 1.215 0.2258
## z.lag.1 -0.04258 0.02739 -1.555 0.1213
## z.diff.lag1 -0.07486 0.06754 -1.108 0.2688
## z.diff.lag2 -0.12590 0.06436 -1.956 0.0516 .
## z.diff.lag3 -0.09387 0.06487 -1.447 0.1492
## z.diff.lag4 -0.09785 0.06484 -1.509 0.1326
## z.diff.lag5 -0.05325 0.06442 -0.827 0.4092
## z.diff.lag6 0.05328 0.06387 0.834 0.4051
## z.diff.lag7 -0.27783 0.06296 -4.413 1.55e-05 ***
## z.diff.lag8 -0.09719 0.06503 -1.495 0.1364
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.594 on 235 degrees of freedom
## Multiple R-squared: 0.1435, Adjusted R-squared: 0.1107
## F-statistic: 4.376 on 9 and 235 DF, p-value: 2.692e-05
##
##
## Value of test-statistic is: -1.5549 1.4189
##
## Critical values for test statistics:
## 1pct 5pct 10pct
## tau2 -3.44 -2.87 -2.57
## phi1 6.47 4.61 3.79
#######################
# Câmbio #
#######################
cores <- brewer.pal(6, "Dark2")
meses <- ggmonthplot(cambio_raw) +
theme_bw() +
scale_y_continuous(name = "Taxa de Câmbio Efetiva Real (índice)") +
labs(title = "", x = "Mês", subtitle = "")+
theme(axis.title = element_text(size=7), axis.text.x = element_text(angle=25, hjust = 1, size = 7))
#labs(title = "Média diária e mensal da taxa de câmbio", x = "Month", subtitle = "No data transformation")
# Gráfico por ano e mês
season <- ggseasonplot(cambio_raw, year.labels = TRUE) +
geom_point() +
theme_bw() +
scale_y_continuous(name = "Taxa de Câmbio Efetiva Real (índice)") +
labs(title = "", x = "Mês", subtitle = "")+
theme(axis.title = element_text(size=7), axis.text.x = element_text(angle=25, hjust = 1, size = 7))
#labs(title = "Monthly average of exchange rate", x = "Month", subtitle = "No data transformation")
#pdf(file = "D:\\Onedrive - Aisha\\OneDrive\\Documentos\\Mestrado Economia\\Dissertação\\YSI - Buenos Aires\\Imagens\\Fig-Season_CAMBIO.pdf", width = 6, height = 3)
season
#dev.off()
#pdf(file = "D:\\Onedrive - Aisha\\OneDrive\\Documentos\\Mestrado Economia\\Dissertação\\YSI - Buenos Aires\\Imagens\\Fig-Month_CAMBIO.pdf", width = 6, height = 3)
meses
#dev.off()
bp_ts <- breakpoints(cambio_raw ~ 1)
ci_ts <- confint(bp_ts)
Data <- seq(as.Date("1996-01-01"), length = length(cambio_raw), by = "1 month")
df1 <- melt(data.frame(Data,cambio_raw), id.vars = "Data")
names(df1) <- c("Data", "Variavel", "Valor")
p1 <- ggplot(df1[which(df1$Variavel == "cambio_raw"),], aes(Data, Valor, colour = Variavel)) +
geom_line(alpha = 1, show.legend=F, colour = cores[1])+
scale_y_continuous(name="Taxa de Câmbio Efetiva Real (índice)") +
scale_x_date(date_breaks = "12 months", name = "Date", labels = date_format("%m-%Y"))+
geom_vline(xintercept = Data[bp_ts$breakpoints], linetype="longdash")+
geom_segment(aes(x = Data[ci_ts$confint[1]], y = min(cambio_raw), xend = Data[ci_ts$confint[5]], yend = min(cambio_raw)))+
geom_segment(aes(x = Data[ci_ts$confint[2]], y = min(cambio_raw), xend = Data[ci_ts$confint[7]], yend = min(cambio_raw)))+
geom_segment(aes(x = Data[ci_ts$confint[3]], y = min(cambio_raw), xend = Data[ci_ts$confint[8]], yend = min(cambio_raw)))+
geom_segment(aes(x = Data[ci_ts$confint[4]], y = min(cambio_raw), xend = Data[ci_ts$confint[9]], yend = min(cambio_raw)))+
geom_segment(aes(x = Data[ci_ts$confint[5]], y = min(cambio_raw), xend = Data[ci_ts$confint[10]], yend = min(cambio_raw)))+
theme_bw()
p1 <- p1 + theme(axis.text.x = element_text(angle=25, hjust = 1, size = 6), legend.position = "none")
p1
m <- seas(x = cambio_raw, transform.function = "none", regression.aictest = NULL)
qs(m)
## qs p-val
## qsori 0.00000 1.00000
## qsorievadj 0.00000 1.00000
## qsrsd 0.00000 1.00000
## qssadj 0.00000 1.00000
## qssadjevadj 0.00000 1.00000
## qsirr 1.95492 0.37627
## qsirrevadj 0.00000 1.00000
## qssori 0.00000 1.00000
## qssorievadj 0.00000 1.00000
## qssrsd 0.00000 1.00000
## qsssadj 0.00000 1.00000
## qsssadjevadj 0.00000 1.00000
## qssirr 0.00089 0.99956
## qssirrevadj 0.00089 0.99956
summary(m)
##
## Call:
## seas(x = cambio_raw, transform.function = "none", regression.aictest = NULL)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## LS1999.Jan 17.02395 3.09599 5.499 3.83e-08 ***
## LS1999.Feb 21.38801 3.09599 6.908 4.91e-12 ***
## AO2002.Oct 13.48149 1.51273 8.912 < 2e-16 ***
## AO2003.Jan -10.34910 1.51273 -6.841 7.85e-12 ***
## AO2008.Dec 7.21563 1.47115 4.905 9.35e-07 ***
## MA-Nonseasonal-01 -0.54841 0.05153 -10.642 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## SEATS adj. ARIMA: (0 1 1) Obs.: 267 Transform: none
## AICc: 1371, BIC: 1396 QS (no seasonality in final): 0
## Box-Ljung (no autocorr.): 30.22 Shapiro (normality): 0.9478 ***
## Messages generated by X-13:
## Warnings:
## - At least one visually significant seasonal peak has been
## found in one or more of the estimated spectra.
##
## Notes:
## - Unable to test LS1999.Jan due to regression matrix
## singularity.
## - Unable to test AO1999.Jan due to regression matrix
## singularity.
## - Unable to test AO2015.Aug due to regression matrix
## singularity.
cambio_raw.df <- ur.df(cambio_raw, type = "trend", selectlags = "AIC", lags = 20)
summary(cambio_raw.df) # Não se rejeita a hipótese nula de não estacionariedade
##
## ###############################################
## # Augmented Dickey-Fuller Test Unit Root Test #
## ###############################################
##
## Test regression trend
##
##
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + tt + z.diff.lag)
##
## Residuals:
## Min 1Q Median 3Q Max
## -16.4804 -2.0433 -0.2678 1.2089 17.2946
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.254164 1.531452 2.778 0.00590 **
## z.lag.1 -0.035870 0.013098 -2.739 0.00663 **
## tt -0.004027 0.003849 -1.046 0.29652
## z.diff.lag 0.315510 0.060540 5.212 4.01e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4.209 on 242 degrees of freedom
## Multiple R-squared: 0.1212, Adjusted R-squared: 0.1103
## F-statistic: 11.12 on 3 and 242 DF, p-value: 7.275e-07
##
##
## Value of test-statistic is: -2.7386 2.6503 3.9022
##
## Critical values for test statistics:
## 1pct 5pct 10pct
## tau3 -3.98 -3.42 -3.13
## phi2 6.15 4.71 4.05
## phi3 8.34 6.30 5.36
# Agora calculo a diferença da série em log
cambio <- diff(log(cambio_raw))
cambio.df <- ur.df(cambio, type = "trend", selectlags = "AIC", lags = 20)
summary(cambio.df) # Agora sim está estacionária
##
## ###############################################
## # Augmented Dickey-Fuller Test Unit Root Test #
## ###############################################
##
## Test regression trend
##
##
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + tt + z.diff.lag)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.117865 -0.020675 -0.000533 0.013748 0.202822
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.576e-03 5.419e-03 0.845 0.3992
## z.lag.1 -7.436e-01 7.242e-02 -10.268 <2e-16 ***
## tt -2.320e-05 3.393e-05 -0.684 0.4947
## z.diff.lag 1.513e-01 6.375e-02 2.373 0.0184 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.03745 on 241 degrees of freedom
## Multiple R-squared: 0.3381, Adjusted R-squared: 0.3299
## F-statistic: 41.04 on 3 and 241 DF, p-value: < 2.2e-16
##
##
## Value of test-statistic is: -10.2678 35.145 52.7175
##
## Critical values for test statistics:
## 1pct 5pct 10pct
## tau3 -3.98 -3.42 -3.13
## phi2 6.15 4.71 4.05
## phi3 8.34 6.30 5.36
# Let's try to plot everything together
df <- data.frame(seq(as.Date("1996-01-01"), length = length(cambio_raw[-length(cambio_raw)]), by = "1 month"), cambio_raw[-length(cambio_raw)]/100, cambio)
names(df) <- c("Data", "Original", "Série diferenciada")
p3 <- ggplot(df, aes(Data)) +
geom_line(aes(y = cambio_raw[-length(cambio_raw)]/100, colour = "Original")) +
geom_line(aes(y = cambio, colour = "Diferenciada")) +
scale_x_date(date_breaks = "12 months", name = "Data", labels = date_format("%Y"))+
scale_y_continuous(name = "Taxa de Câmbio Efetiva Real (Índice)")+
labs(color="Variável") +
theme_bw()
p3 + theme(axis.text.x = element_text(angle=25, hjust = 1, size = 8))
#######################
# IPCA #
#######################
cores <- brewer.pal(6, "Dark2")
meses <- ggmonthplot(ipca) +
theme_bw() +
scale_y_continuous(name = "Taxa de Inflação (IPCA - % a.a.)") +
labs(title = "", x = "Mês", subtitle = "")+
theme(axis.title = element_text(size=7), axis.text.x = element_text(angle=25, hjust = 1, size = 7))
#labs(title = "Monthly average of the inflation index", x = "Month", subtitle = "No data transformation")
# Gráfico por ano e mês
season <- ggseasonplot(ipca, year.labels = TRUE) +
geom_point() +
theme_bw() +
scale_y_continuous(name = "Taxa de Inflação (IPCA - % a.a.)") +
labs(title = "", x = "Mês", subtitle = "")+
theme(axis.title = element_text(size=7), axis.text.x = element_text(angle=25, hjust = 1, size = 7))
#labs(title = "Monthly average of the inflation index", x = "Month", subtitle = "No data transformation")
#pdf(file = "D:\\Onedrive - Aisha\\OneDrive\\Documentos\\Mestrado Economia\\Dissertação\\YSI - Buenos Aires\\Imagens\\Fig-Season_IPCA.pdf", width = 6, height = 3)
season
#dev.off()
#pdf(file = "D:\\Onedrive - Aisha\\OneDrive\\Documentos\\Mestrado Economia\\Dissertação\\YSI - Buenos Aires\\Imagens\\Fig-Month_IPCA.pdf", width = 6, height = 3)
meses
#dev.off()
bp_ts <- breakpoints(ipca ~ 1)
ci_ts <- confint(bp_ts)
Data <- seq(as.Date("1996-01-01"), length = length(ipca), by = "1 month")
df1 <- melt(data.frame(Data,ipca), id.vars = "Data")
names(df1) <- c("Data", "Variavel", "Valor")
p1 <- ggplot(df1[which(df1$Variavel == "ipca"),], aes(Data, Valor, colour = Variavel)) +
geom_line(alpha = 1, show.legend=F, colour = cores[1])+
scale_y_continuous(name="Inflation (% monthly)") +
scale_x_date(date_breaks = "12 months", name = "Date", labels = date_format("%m-%Y"))+
geom_vline(xintercept = Data[bp_ts$breakpoints], linetype="longdash")+
geom_segment(aes(x = Data[ci_ts$confint[1]], y = min(ipca), xend = Data[ci_ts$confint[5]], yend = min(ipca)))+
geom_segment(aes(x = Data[ci_ts$confint[2]], y = min(ipca), xend = Data[ci_ts$confint[6]], yend = min(ipca)))+
theme_bw()
p1 <- p1 + theme(axis.text.x = element_text(angle=25, hjust = 1, size = 6), legend.position = "none")
p1
# Now I divide the series in 3 different pieces to apply the seasonal filter
# Salvando três séries para passar o seasonal
ipca_a <- ipca[1:(bp_ts$breakpoints[1]-1)]
ipca_b <- ipca[(bp_ts$breakpoints[1]):(bp_ts$breakpoints[2]-1)]
ipca_c <- ipca[(bp_ts$breakpoints[2]):(length(ipca))]
ipca_a <- ts(ipca_a, start = c(1996, 01, 01), frequency = 12)
ipca_b <- ts(ipca_b, start = c(2002, 03, 01), frequency = 12)
ipca_c <- ts(ipca_c, start = c(2005, 06, 01), frequency = 12)
# There is no evidence of seasonal component in either the complete series nor the pieces
m <- seas(x = ipca_a, transform.function = "none", regression.aictest = NULL)
qs(m)
## qs p-val
## qsori 0.00000 1.00000
## qsorievadj 0.00000 1.00000
## qsrsd 0.52144 0.77050
## qssadj 0.00000 1.00000
## qssadjevadj 0.00000 1.00000
## qsirr 0.00000 1.00000
## qsirrevadj 0.00000 1.00000
## qssrsd 0.35015 0.83939
summary(m)
##
## Call:
## seas(x = ipca_a, transform.function = "none", regression.aictest = NULL)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## AR-Nonseasonal-01 0.79459 0.06821 11.649 <2e-16 ***
## MA-Seasonal-12 0.50638 0.09393 5.391 7e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## SEATS adj. ARIMA: (1 1 0)(0 0 1) Obs.: 74 Transform: none
## AICc: 92.27, BIC: 98.79 QS (no seasonality in final): 0
## Box-Ljung (no autocorr.): 22.07 Shapiro (normality): 0.984
## Messages generated by X-13:
## Warnings:
## - Series should not be a candidate for seasonal adjustment
## because the spectrum of the original series (Table A1 or
## B1) has no visually significant seasonal peaks.
##
## Notes:
## - Model used for SEATS decomposition is different from the
## model estimated in the regARIMA modeling module of
## X-13ARIMA-SEATS.
# Não tem evidência que precisa ajuste sazonal na primeira parte
m <- seas(x = ipca_b, transform.function = "none", regression.aictest = NULL)
qs(m)
## qs p-val
## qsori 0 1
## qsorievadj 0 1
## qsrsd 0 1
## qssadj 0 1
## qssadjevadj 0 1
## qsirr 0 1
## qsirrevadj 0 1
summary(m)
##
## Call:
## seas(x = ipca_b, transform.function = "none", regression.aictest = NULL)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## LS2002.Nov 1.4617 0.3866 3.781 0.000156 ***
## LS2003.Nov -1.5678 0.3866 -4.056 5e-05 ***
## AR-Nonseasonal-01 0.7847 0.0954 8.226 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## SEATS adj. ARIMA: (1 1 0) Obs.: 39 Transform: none
## AICc: 64.01, BIC: 69.35 QS (no seasonality in final): 0
## Box-Ljung (no autocorr.): 33.2 . Shapiro (normality): 0.9852
## Messages generated by X-13:
## Warnings:
## - Series should not be a candidate for seasonal adjustment
## because the spectrum of the prior adjusted series (Table
## B1) has no visually significant seasonal peaks.
##
## Notes:
## - The program cannot perform hypothesis tests for kurtosis
## on less than 50 observations.
# Não tem evidência que precisa ajuste sazonal na segunda parte
m <- seas(x = ipca_c, transform.function = "none", regression.aictest = NULL)
qs(m)
## qs p-val
## qsori 0.00000 1.00000
## qsorievadj 0.00000 1.00000
## qsrsd 2.06009 0.35699
## qssadj 0.00000 1.00000
## qssadjevadj 0.00000 1.00000
## qsirr 0.00000 1.00000
## qsirrevadj 0.00000 1.00000
## qssori 0.00000 1.00000
## qssorievadj 0.00000 1.00000
## qssrsd 1.09881 0.57729
## qsssadj 0.00000 1.00000
## qsssadjevadj 0.00000 1.00000
## qssirr 0.00000 1.00000
## qssirrevadj 0.00000 1.00000
summary(m)
##
## Call:
## seas(x = ipca_c, transform.function = "none", regression.aictest = NULL)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## AR-Nonseasonal-01 0.63263 0.05707 11.09 <2e-16 ***
## MA-Seasonal-12 0.99989 0.06319 15.82 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## SEATS adj. ARIMA: (1 1 0)(0 0 1) Obs.: 153 Transform: none
## AICc: -19.97, BIC: -11.06 QS (no seasonality in final): 0
## Box-Ljung (no autocorr.): 34.49 . Shapiro (normality): 0.993
## Messages generated by X-13:
## Warnings:
## - Series should not be a candidate for seasonal adjustment
## because the spectrum of the original series (Table A1 or
## B1) has no visually significant seasonal peaks.
##
## Notes:
## - Model used for SEATS decomposition is different from the
## model estimated in the regARIMA modeling module of
## X-13ARIMA-SEATS.
# Não tem evidência que precisa ajuste sazonal na terceira parte
m <- seas(x = ipca, transform.function = "none", regression.aictest = NULL)
qs(m)
## qs p-val
## qsori 0.00000 1.00000
## qsorievadj 0.00000 1.00000
## qsrsd 1.84107 0.39830
## qssadj 0.00000 1.00000
## qssadjevadj 0.00000 1.00000
## qsirr 0.00000 1.00000
## qsirrevadj 0.00000 1.00000
## qssori 0.00000 1.00000
## qssorievadj 0.00000 1.00000
## qssrsd 2.06590 0.35595
## qsssadj 0.00000 1.00000
## qsssadjevadj 0.00000 1.00000
## qssirr 0.00000 1.00000
## qssirrevadj 0.00000 1.00000
summary(m)
##
## Call:
## seas(x = ipca, transform.function = "none", regression.aictest = NULL)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## LS2003.Jul -0.55724 0.12823 -4.346 1.39e-05 ***
## AR-Nonseasonal-01 0.76739 0.03792 20.239 < 2e-16 ***
## MA-Seasonal-12 0.89032 0.02928 30.404 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## SEATS adj. ARIMA: (1 1 0)(0 0 1) Obs.: 266 Transform: none
## AICc: 179, BIC: 193.2 QS (no seasonality in final): 0
## Box-Ljung (no autocorr.): 14 Shapiro (normality): 0.9356 ***
## Messages generated by X-13:
## Warnings:
## - Series should not be a candidate for seasonal adjustment
## because the spectrum of the prior adjusted series (Table
## B1) has no visually significant seasonal peaks.
##
## Notes:
## - Model used for SEATS decomposition is different from the
## model estimated in the regARIMA modeling module of
## X-13ARIMA-SEATS.
# Não tem evidência que precisa ajuste sazonal na série toda
# Como não fiz nenhuma transformação não tem muito o que plotar de gráfico aqui
| Capital_trabalho | Swap | PIB | Cambio | IPCA | |
|---|---|---|---|---|---|
| Observações | 266.0000 | 266.0000 | 266.0000 | 266.0000 | 266.0000 |
| Mínimo | -8.1395 | 6.5400 | -6.5307 | -11.6869 | 1.6456 |
| 1o quartil | 44.8218 | 10.7125 | -0.9087 | -1.9531 | 4.8092 |
| Média | 55.7700 | 13.9905 | 0.2945 | 0.1353 | 6.8280 |
| Mediana | 51.2403 | 13.1600 | 0.3725 | -0.1574 | 6.2707 |
| 3o quartil | 63.6885 | 17.3900 | 1.6253 | 1.4423 | 7.6704 |
| Máximo | 151.0014 | 27.4900 | 5.3142 | 21.6674 | 21.9876 |
| Desv. Pad. | 19.0722 | 4.7089 | 1.8553 | 3.8780 | 3.4314 |
#################
# MODELO 1 - Do jeito que está
#################
# Junta o swap com a selic
selic_trim <- ts(selic_final[1:44], start = c(1996, 01, 01), frequency = 12)
# Binding the series
comb <- ts.union(selic_trim, swap90)
swap <- pmin(comb[,1], comb[,2], na.rm = TRUE)
#Inflação - Produto - Juros - Câmbio - Desigualdade.
var1 <- cbind(capital_trabalho_final*100, ipca, PIB*100, swap, cambio) # The bvar function does not allows data.frames
#var2 <- cbind(capital_trabalho_final, swap, PIB2, cambio, ipca) # The bvar function does not allows data.frames
names(var1) <- c("capital_trabalho", "ipca", "pib", "swap", "cambio")
#names(var1) <- c("ipca", "pib", "swap", "cambio","capital_trabalho") # Ficou uma merda
#var1 <- c(1,2,3,4,5)
pos_ct <- grep("capital_trabalho", names(var1))
pos_swap <- grep("swap", names(var1))
pos_pib <- grep("pib", names(var1))
pos_cambio <- grep("cambio", names(var1))
pos_ipca <- grep("ipca", names(var1))
set.seed(6969)
nburn. <- 500000 # Burn the first 100kk replications
nrep. <- 100000 # Estimate another 100k times after burn in
thinfac. <- 4 # But keep only 1 in 4 estimates
p. <- 1 # Number of lags
tau. <- 48 - p. # Number of observations to use as prior
nf. <- 1 # Number of forecast periods
k_B. <- 6 # Fator de inflação na priori
k_A. <- 4 # Fator de inflação na priori
# No idea what's this for
tamanho <- floor(1/thinfac.*nrep.)
# número de tempos
tempo <- nrow(var1)
pm <- proc.time()
#fit1 <- bvar.sv.tvp(var1, p=p., tau = tau., nburn = nburn., nrep = nrep., thinfac = thinfac., nf = nf., k_B = k_B., k_A = k_A.)
#saveRDS(fit1, "D:\\Onedrive - Aisha\\OneDrive\\Documentos\\Mestrado Economia\\Dissertação\\YSI - Buenos Aires\\Testes PIB\\fit_piba.rds")
fit1 <- readRDS("D:\\Onedrive - Aisha\\OneDrive\\Documentos\\Mestrado Economia\\Dissertação\\YSI - Buenos Aires\\Testes PIB\\fit_piba.rds")
#rm(fit1)
proc.time() - pm
## user system elapsed
## 18.07 1.01 19.16
Em todas variáveis do modelo, no último período
Na razão capital trabalho porém em períodos de mudança no Banco Central.
Os presidentes do BCB no período analisado foram:
Supondo que existe algum tipo de coordenação entre política fiscal e monetária, peguei os Ministros da Fazenda no Período também:
Na taxa de variação do PIB
Na taxa de variação do índice da taxa de câmbio real efetiva
No IPCA
Em todas variáveis do modelo, no último período
Na razão capital-trabalho, em períodos selecionados
Em todas variáveis do modelo, no último período
Na razão capital-trabalho, em períodos selecionados
Em todas variáveis do modelo, no último período
Na razão capital-trabalho, em períodos selecionados
Os gráficos abaixo contém os betas (esq) e volatilidade (dir) ao longo do tempo, com o 16o e o 68o percentis (como foi feito no artigo do Primiceri).
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - esquerda - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza):
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:
Primeiro, plotando os gráficos com o intervalo do 16o ao 84o quantil (como feito no Primiceri e como eu fiz no trabalho de Macro2:
Mas o que acontece se incluímos o zero no eixo vertical dos coeficientes?
Agora vamos repetir gráfico mas fazendo as bandas do quantil 5 a 95 (em azul) e 25 a 75 (em cinza) - sem forçar o zero no eixo dos coeficientes:
Primeiro os gráficos com os intervalos de 16 a 84% sem forçar o zero no eixo y:
Agora o mesmo gráfico mas forçando o zero a aparecer:
E o mesmo gráfico mas com os quantis de 5 a 95 e 25 a 75:
Repete o mesmo de antes, mas incluindo zero no eixo y:
| Capital_trabalho | Swap | PIB | Cambio | IPCA | |
|---|---|---|---|---|---|
| Observações | 266.0000 | 266.0000 | 266.0000 | 266.0000 | 266.0000 |
| Mínimo | -8.1395 | 6.5400 | -1244.6761 | -11.6869 | 1.6456 |
| 1o quartil | 44.8218 | 10.7125 | 98.8503 | -1.9531 | 4.8092 |
| Média | 55.7700 | 13.9905 | 375.3744 | 0.1353 | 6.8280 |
| Mediana | 51.2403 | 13.1600 | 380.4773 | -0.1574 | 6.2707 |
| 3o quartil | 63.6885 | 17.3900 | 715.8672 | 1.4423 | 7.6704 |
| Máximo | 151.0014 | 27.4900 | 1352.9977 | 21.6674 | 21.9876 |
| Desv. Pad. | 19.0722 | 4.7089 | 472.5005 | 3.8780 | 3.4314 |
Em todas variáveis do modelo, no último período
Na razão capital trabalho porém em períodos de mudança no Banco Central.
Os presidentes do BCB no período analisado foram:
Supondo que existe algum tipo de coordenação entre política fiscal e monetária, peguei os Ministros da Fazenda no Período também:
Na taxa de variação do PIB
Na taxa de variação do índice da taxa de câmbio real efetiva
No IPCA
Em todas variáveis do modelo, no último período
Na razão capital-trabalho, em períodos selecionados
Em todas variáveis do modelo, no último período
Na razão capital-trabalho, em períodos selecionados
Em todas variáveis do modelo, no último período
Na razão capital-trabalho, em períodos selecionados
Os gráficos abaixo contém os betas (esq) e volatilidade (dir) ao longo do tempo, com o 16o e o 68o percentis (como foi feito no artigo do Primiceri).
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - esquerda - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza):
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:
Primeiro, plotando os gráficos com o intervalo do 16o ao 84o quantil (como feito no Primiceri e como eu fiz no trabalho de Macro2:
Mas o que acontece se incluímos o zero no eixo vertical dos coeficientes?
Agora vamos repetir gráfico mas fazendo as bandas do quantil 5 a 95 (em azul) e 25 a 75 (em cinza) - sem forçar o zero no eixo dos coeficientes:
Primeiro os gráficos com os intervalos de 16 a 84% sem forçar o zero no eixo y:
Agora o mesmo gráfico mas forçando o zero a aparecer:
E o mesmo gráfico mas com os quantis de 5 a 95 e 25 a 75:
Repete o mesmo de antes, mas incluindo zero no eixo y:
| Capital_trabalho | Swap | PIB | Cambio | IPCA | |
|---|---|---|---|---|---|
| Observações | 266.0000 | 266.0000 | 266.0000 | 266.0000 | 266.0000 |
| Mínimo | -8.1395 | 6.5400 | -6.8826 | -11.6869 | 1.6456 |
| 1o quartil | 44.8218 | 10.7125 | -1.0716 | -1.9531 | 4.8092 |
| Média | 55.7700 | 13.9905 | 0.2000 | 0.1353 | 6.8280 |
| Mediana | 51.2403 | 13.1600 | 0.2672 | -0.1574 | 6.2707 |
| 3o quartil | 63.6885 | 17.3900 | 1.5787 | 1.4423 | 7.6704 |
| Máximo | 151.0014 | 27.4900 | 5.3019 | 21.6674 | 21.9876 |
| Desv. Pad. | 19.0722 | 4.7089 | 1.9127 | 3.8780 | 3.4314 |
Em todas variáveis do modelo, no último período
Na razão capital trabalho porém em períodos de mudança no Banco Central.
Os presidentes do BCB no período analisado foram:
Supondo que existe algum tipo de coordenação entre política fiscal e monetária, peguei os Ministros da Fazenda no Período também:
Na taxa de variação do PIB
Na taxa de variação do índice da taxa de câmbio real efetiva
No IPCA
Em todas variáveis do modelo, no último período
Na razão capital-trabalho, em períodos selecionados
Em todas variáveis do modelo, no último período
Na razão capital-trabalho, em períodos selecionados
Em todas variáveis do modelo, no último período
Na razão capital-trabalho, em períodos selecionados
Os gráficos abaixo contém os betas (esq) e volatilidade (dir) ao longo do tempo, com o 16o e o 68o percentis (como foi feito no artigo do Primiceri).
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - esquerda - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza):
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:
Primeiro, plotando os gráficos com o intervalo do 16o ao 84o quantil (como feito no Primiceri e como eu fiz no trabalho de Macro2:
Mas o que acontece se incluímos o zero no eixo vertical dos coeficientes?
Agora vamos repetir gráfico mas fazendo as bandas do quantil 5 a 95 (em azul) e 25 a 75 (em cinza) - sem forçar o zero no eixo dos coeficientes:
Primeiro os gráficos com os intervalos de 16 a 84% sem forçar o zero no eixo y:
Agora o mesmo gráfico mas forçando o zero a aparecer:
E o mesmo gráfico mas com os quantis de 5 a 95 e 25 a 75:
Repete o mesmo de antes, mas incluindo zero no eixo y:
| Capital_trabalho | Swap | PIB | Cambio | IPCA | |
|---|---|---|---|---|---|
| Observações | 266.0000 | 266.0000 | 266.0000 | 266.0000 | 266.0000 |
| Mínimo | -8.1395 | 6.5400 | -1374.1734 | -11.6869 | 1.6456 |
| 1o quartil | 44.8218 | 10.7125 | -12.1594 | -1.9531 | 4.8092 |
| Média | 55.7700 | 13.9905 | 257.2653 | 0.1353 | 6.8280 |
| Mediana | 51.2403 | 13.1600 | 256.1773 | -0.1574 | 6.2707 |
| 3o quartil | 63.6885 | 17.3900 | 580.3923 | 1.4423 | 7.6704 |
| Máximo | 151.0014 | 27.4900 | 1236.6463 | 21.6674 | 21.9876 |
| Desv. Pad. | 19.0722 | 4.7089 | 463.0483 | 3.8780 | 3.4314 |
Em todas variáveis do modelo, no último período
Na razão capital trabalho porém em períodos de mudança no Banco Central.
Os presidentes do BCB no período analisado foram:
Supondo que existe algum tipo de coordenação entre política fiscal e monetária, peguei os Ministros da Fazenda no Período também:
Na taxa de variação do PIB
Na taxa de variação do índice da taxa de câmbio real efetiva
No IPCA
Em todas variáveis do modelo, no último período
Na razão capital-trabalho, em períodos selecionados
Em todas variáveis do modelo, no último período
Na razão capital-trabalho, em períodos selecionados
Em todas variáveis do modelo, no último período
Na razão capital-trabalho, em períodos selecionados
Os gráficos abaixo contém os betas (esq) e volatilidade (dir) ao longo do tempo, com o 16o e o 68o percentis (como foi feito no artigo do Primiceri).
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - esquerda - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza):
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:
Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:
Primeiro, plotando os gráficos com o intervalo do 16o ao 84o quantil (como feito no Primiceri e como eu fiz no trabalho de Macro2:
Mas o que acontece se incluímos o zero no eixo vertical dos coeficientes?
Agora vamos repetir gráfico mas fazendo as bandas do quantil 5 a 95 (em azul) e 25 a 75 (em cinza) - sem forçar o zero no eixo dos coeficientes:
Primeiro os gráficos com os intervalos de 16 a 84% sem forçar o zero no eixo y:
Agora o mesmo gráfico mas forçando o zero a aparecer:
E o mesmo gráfico mas com os quantis de 5 a 95 e 25 a 75:
Repete o mesmo de antes, mas incluindo zero no eixo y: